import 'package:get/get.dart';
import '../../common/index.dart';
import '../myPlant/controller.dart';

class MainController extends GetxController {
  MainController();

  // 当前选中的索引
  int current_index = 0;
  // 记录上次选中的索引
  int previous_index = 0;

  _init_data() {
    update(["main"]);
  }

  // 切换底部导航
  void switch_tab(int index) {
    // 如果选择了"我的"(索引为3)，则检查是否已登录
    if (index == 3) {
      final userService = UserService.to;
      final isLoggedIn = userService.get_now_user() != null;

      if (!isLoggedIn) {
        // 如果未登录，跳转到登录页面
        RouteUtil.push(RouteNames.login);
        return;
      }
    }

    // 记录上次选中的索引
    previous_index = current_index;

    // 已登录或者选择的不是"我的"选项卡，正常切换
    current_index = index;

    // 当切换到我的植物页面时，刷新植物数据
    if (index == 2) {
      if (Get.isRegistered<MyPlantController>()) {
        final myPlantController = Get.find<MyPlantController>();
        myPlantController.refresh_plants();
      }
    }

    update(["main"]);
  }

  @override
  void onInit() {
    super.onInit();

    // 检查是否有传入的page参数
    if (Get.arguments != null && Get.arguments is Map) {
      final args = Get.arguments as Map;
      if (args.containsKey('page')) {
        current_index = args['page'];
      }
    }
  }

  @override
  void onReady() {
    super.onReady();
    _init_data();
  }

  // @override
  // void onClose() {
  //   super.onClose();
  // }
}
